Arithmétique et algorithmique en algèbre linéaire exacte pour la bibliothèque LinBox. (Arithmetic and algorithmic in exact linear algebra for the LinBox library)
نویسنده
چکیده
Envelope classe virtuelle classe template héritage instanciation pointeur conforme branchement Fig. 2.2 – Structure de l’archétype des corps finis. La figure 2.2 décrit la structure d’une interface de données compilable. Cette structure se découpe en trois modules. Tout d’abord on peut distinguer au plus bas niveau les classes Abstract et Envelope. La classe Abstract définit l’interface abstraite, en proposant un modèle de fonction virtuelle pure pour toutes les fonctions du modèle de base. La classe Envelope permet de synchroniser l’ensemble des corps finis conformes au modèle de base avec l’interface 2.1. Archétype de données 33 abstraite. Plus précisément, cette classe permet d’intégrer de façon générique des fonctions d’allocations mémoire nécessaires à la manipulation d’objets abstraits. Cette classe est optionnelle si l’on utilise directement une implantation de corps finis qui dérive de l’interface abstraite et qui propose l’ensemble des fonctions d’allocations mémoire. La classe Archetype définit à la fois le modèle de base des corps finis et l’objet compilable intégrant l’interface abstraite. L’intégration de l’interface abstraite se fait au travers d’un pointeur de données. L’instanciation de ce pointeur par un objet dérivé de l’interface abstraite permet donc de fixer le polymorphisme dynamique de l’interface. L’utilisation de l’enveloppe pour instancier ce pointeur permet d’assurer le bon comportement des allocations mémoire pour toutes les implantations de corps finis. héritage pointeur class FieldAbstract {
منابع مشابه
Vers une modélisation diagrammatique de la bibliothèque C++ d'algèbre linéaire LinBox
héritage // polymorphisme Envelope param. template // _ _ _ Envelope〈Zp〉 instanc. // _ _ _ Envelope〈Zp〉 E2(2) ; Archetype // _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ instanciation Archetype A2(&E2) ; Figure 2. Un diagramme DML pour l’architecture des corps dans LINBOX, avec une enveloppe à héritage Il apparaît clairement que la différence entre les deux diagrammes est l’instanciation du corps . En...
متن کاملCertified Diophantine Solving of Linear Systems in LinBox
LinBox[6] is a C++ template library for high-performance exact linear algebra. It provides optimized facilities for solving rational systems, and computing invariants and canonical forms of linear operators. It acts as middleware on top of existing low-level software libraries for multiprecision integer arithmetic (GMP, NTL), finite field algebra (Givaro, NTL) and linear algebra (BLAS, ATLAS). ...
متن کاملLinBox Founding Scope Allocation, Parallel Building Blocks, and Separate Compilation
To maximize efficiency in time and space, allocations and deallocations, in the exact linear algebra library LinBox, must always occur in the founding scope. This provides a simple lightweight allocation model. We present this model and its usage for the rebinding of matrices between different coefficient domains. We also present automatic tools to speed-up the compilation of template libraries...
متن کاملComputational geometry and discrete computations
In this paper we describe some problems arising in practical implementation of algorithms from computational geometry. Going to robust algorithms needs to solve issues such as rounding errors and degeneracies. Most of the problems are closely related to the incompatibility between on one side algorithms designed for continuous data and on the other side the discrete nature of the data and the c...
متن کاملFurther results on arithmetic filters for geometric predicates
An e cient technique to solve precision problems consists in using exact computations. For geometric predicates, using systematically expensive exact computations can be avoided by the use of lters. The predicate is rst evaluated using rounding computations, and an error estimation gives a certi cate of the validity of the result. In this note, we studies the statistical e ciency of lters for c...
متن کامل